home *** CD-ROM | disk | FTP | other *** search
Wrap
10000 '******************************************************************** 10010 '* * 10020 '* マルチデータビュワーMultiV * 10030 '* Version1.1 L93b * 10040 '* Programmed by OA-X,1994,1995 * 10050 '* * 10060 '******************************************************************** 10070 'INIT&SETTINGS 10080 GOSUB *MULTIV_INIT:CLEAR ,,,1698366,92371,409600:STOP OFF 10090 ON ERROR GOTO *MULTIV_ERR 10100 ON KEY(10) GOSUB *END:KEY(10) ON 10110 DEFLNG F:CD STOP 10120 GOSUB *GET_CDIR 10130 LOADM DRV$+"V02Play.Rex",0 10140 LOADM DRV$+"Dos.Rex",50000 10150 LOADM DRV$+"PCD_Play.Rex",91024 10160 DEF SPRITE 99,0:CONSOLE 0,25,0 10170 DIM ST1%(640*20),ST2%(640*13),EP(100),CDPLAY!(INT((INT((152+7)/8)*130*4+4-1)/4)) 10180 DIM WORK(960000/4),DNAME(182),FWIN!(INT((INT((242+7)/8)*112*4+4-1)/4)),HICDRI%(8) 10190 DIM SCRN2%(INT((INT((399+7)/8)*238*4+2-1)/2)),F_WAT(((32*32/8)+3)/4+1),F_WAT1(((32*32/8)+3)/4+1) 10200 DIM MV1&(10),MV2$(10),F_NAME2$(500),NODISC!(INT((INT((19+7)/8)*18*4+4-1)/4)) 10210 DIM FS%(INT((INT((399+7)/8)*238*4+2-1)/2)),F_STD(((32*32/8)+3)/4+1),F_STD1(((32*32/8)+3)/4+1) 10220 DIM F_DRV(26) ,F_NAME$(500) ,F_SIZE&(500) ,F_ATTR&(500),F_DATE$(500) 10230 DIM F_BTNX1(18),F_BTNY1(18),F_BTNX2(18),F_BTNY2(18),REPEAT!(INT((INT((20+7)/8)*8*4+4-1)/4)) 10240 DIM F_ICN(9),F_PAT(((32*32/8)+3)/4+1),F_PAT1(((32*32/8)+3)/4+1),FS_ICN%(24*24*6) 10250 CONST_SDKMAX& = 32 'サイドワーク確保数 10260 CONST_SDKNAMELENMAX& = 32 'サイドワークネーム最大長 10270 DIM SDKNAME$(CONST_SDKMAX& - 1),WORK&(6*24*460\8),BTN%(416*2) 10280 SDKKEY$ = "" 10290 FOR I=0 TO CONST_SDKMAX& - 1 'サイドワークネーム最大長を確保 10300 SDKNAME$(I) = SPACE$(CONST_SDKNAMELENMAX&) 10310 NEXT I 10320 GOSUB *SDKINIT '初期化サブへ 10330 IF SDKMAX& >= 0 THEN MENUOK&=1 10340 IF SDKMAX& < 0 THEN SDKMAX&=0 10350 DEF FONT "システム 12ドット":ON EROR GOTO *MULTIV_ERR 10360 LOAD@ DRV$+"SHUTTER1.OAX",ST1% 10370 LOAD@ DRV$+"SHUTTER2.OAX",ST2% 10380 LOAD@ DRV$+"MOS_STD1.OAX",F_STD 10390 LOAD@ DRV$+"MOS_STD2.OAX",F_STD1 10400 LOAD@ DRV$+"MOS_WAT1.OAX",F_WAT 10410 LOAD@ DRV$+"MOS_WAT2.OAX",F_WAT1 10420 LOAD@ DRV$+"OAX_FS.OAX",FS% 10430 LOAD@ DRV$+"ICON.OAX",FS_ICN% 10440 LOAD@ DRV$+"DRV_NAME.OAX",DNAME 10450 LOAD@ DRV$+"CDPLAYER.OAX",CDPLAY! 10460 LOAD@ DRV$+"NODISC.OAX",NODISC! 10470 LOAD@ DRV$+"REPEAT.OAX",REPEAT! 10480 LOAD@ DRV$+"MULTIV.TIF":GOSUB *SHUT1 10490 MOUSE 0:MOUSE 1,320,240,0 10500 F_SHAPE=80:GOSUB *F_初期化:GOSUB *F_マウスカーソル設定 10510 MOUSE 1,MOUSE(0),MOUSE(1),1 10520 COLOR 0,0,7,4:GOSUB *MOS_SPEEDSET:VOL=127:HVOL=127:STYLE&=1 10530 *MAIN 10540 WHILE DUMMY=0 10550 DUMMY=MOUSE(3,0):GOSUB *DATE_TIME:IF EUP_R$<>"" THEN GOSUB *EP_REPEAT 10560 WEND 10570 BX=MOUSE(0):BY=MOUSE(1):DUMMY=0 10580 IF BX>=0 AND BX<=106 AND BY>=0 AND BY<=19 THEN GOSUB *ABOUT_MENU:DUMMY=0:GOTO 10540 10590 IF BX>=107 AND BX<=178 AND BY>=0 AND BY<=19 THEN *FILE_CLICK:DUMMY=0:GOTO 10540 10600 IF BX>=179 AND BX<=228 AND BY>=0 AND BY<=19 THEN GOSUB *CD_CLICK:DUMMY=0:GOTO 10540 10610 IF BX>=610 AND BX<=629 AND BY>=0 AND BY<=19 THEN EN_MOS_FLAG=1:GOTO *END 10620 GOTO 10540 10630 *ABOUT_MENU 10640 LINE(0,0)-(106,19),PSET,%8,B 10650 LINE(1,1)-(105,18),PSET,%8,B 10660 GOSUB *SDK_MAIN:RETURN 10670 *MV_ABOUT:PUT@A (0,20)-(6*24-1,479),WORK&,PSET 10680 GET@A(160,120)-(479,359),SCRN2% 10690 LOAD@ DRV$+"ABOUT.TIF",(160,120):SYMBOL(182,328),STR$(FRE(4))+"Bytes Free",.75!,.75!,%8,,,1 10700 WHILE DUMMY=0 10710 DUMMY=MOUSE(3,1):GOSUB *DATE_TIME 10720 WEND:LINE(0,0)-(1,18),PSET,%15,B:LINE(0,0)-(105,1),PSET,%15,B:PSET(0,19),%15:PSET(106,0),%15 10730 PUT@A(160,120)-(479,359),SCRN2%:GOTO 10540 10740 *CD_CLICK 10750 LINE(179,0)-(228,19),PSET,%1,B 10760 LINE(180,1)-(227,18),PSET,%1,B 10770 WHILE MOUSE(2,0)=-1 10780 IF MOUSE(0)<179 AND MOUSE(1)<20 THEN GOSUB *CD_ERASE:GOTO *FILE_CLICK 10790 WEND:IF MOUSE(0)>228 OR MOUSE(1)>19 THEN GOSUB *CD_ERASE:GOTO 10540 10800 LINE(180,0)-(228,1),PSET,%15,BF:LINE(179,0)-(180,19),PSET,%15,BF:PSET(228,1),%8 10810 LINE(181,18)-(226,19),PSET,%8,BF:LINE(227,2)-(228,19),PSET,%8,BF:PSET(180,19),%8 10820 GOSUB *MV_CDPLAY:RETURN 10830 *FILE_CLICK 10840 LINE(107,0)-(178,19),PSET,%1,B 10850 LINE(108,1)-(177,18),PSET,%1,B 10860 WHILE MOUSE(2,0)=-1:IF MOUSE(0)>178 AND MOUSE(1)<20 THEN GOSUB *FILE_ERASE:GOTO *CD_CLICK 10870 IF MOUSE(0)<107 THEN GOSUB *FILE_ERASE:GOTO *ABOUT_MENU 10880 WEND:IF MOUSE(1)>19 THEN GOSUB *FILE_ERASE:DUMMY=0:GOTO 10540 10890 LINE(108,0)-(178,1),PSET,%15,BF 10900 LINE(107,0)-(108,19),PSET,%15,BF 10910 LINE(109,18)-(178,19),PSET,%8,BF 10920 LINE(177,2)-(178,19),PSET,%8,BF 10930 PSET(178,1),%8:PSET(108,19),%8 10940 GET@A(120,121)-(518,358),SCRN2%:FS_PRA$="":GOSUB *FILE_SELECTOR:GOTO *RETED 10950 *FILE_SELECTOR:'========================== 10960 ' 16色用ファイルセレクタ 10970 '========================================= 10980 DEF FONT "システム 12ドット" 10990 GOSUB *F_初期化 11000 F_POSX=10:F_POSY=5:GOSUB *F_ファイルセレクタ 11010 FS_PRA$=F_FILENAME$:RETURN 11020 '---------------------------------------------------------------- 11030 *F_初期化 11040 '---------------------------------------------------------------- 11050 SEACHICNSEL&=50000:MEMCPY&=50005:GETFREESPACE&=50010:ISFIXED&=50015:ISEXIST&=50020 11060 FINDFIRST&=50025 :FINDNEXT&=50030:GETDRV&=50035:GETDIR&=50040 11070 ' 11080 F_BACK=8:F_LWHITE=7 '16色 11090 F_NUM=0:F_WLD$="":F_STR$=SPACE$(100) 11100 F_ICN_SEC=CALLM(SEACHICNSEL&) 11110 ' 11120 RESTORE *F_ボタン位置データ 11130 FOR F_I=0 TO 9 11140 READ F_BTNX1(F_I),F_BTNY1(F_I),F_BTNX2(F_I),F_BTNY2(F_I) 11150 NEXT 11160 FOR F_I=10 TO 17 11170 F_BTNX1(F_I)=F_BTNX1(9):F_BTNX2(F_I)=F_BTNX2(9) 11180 F_BTNY1(F_I)=F_BTNY1(F_I-1)+14:F_BTNY2(F_I)=F_BTNY2(F_I-1)+14 11190 NEXT 11200 ' 11210 RESTORE *F_アイコンデータ:FOR F_I=0 TO 9:READ F_ICN(F_I):NEXT 11220 RETURN 11230 ' 11240 *F_ボタン位置データ 11250 DATA 132,148,148,185, 153,148,213,185, 218,148,234,185, 491,147,506,163 11260 DATA 493,276,505,290, 493,292,505,305, 377,320,434,344, 451,323,502,341 11270 DATA 122,123,134,135, 246,166,487,179 11280 *F_アイコンデータ 11290 DATA 70,0,72,77,0,77,76,78,69,79 11300 ' 11310 '---------------------------------------------------------------- 11320 *F_ファイルセレクタ 11330 '---------------------------------------------------------------- 11340 F_FILENAME$="":F_FILEPATH$="":F_FILEDRV$="":F_TOP=0 11350 GOSUB *F_画面表示 11360 GOSUB *F_ドライブ情報取得:GOSUB *F_ドライブ状況表示 11370 GOSUB *F_ファイル情報取得:GOSUB *F_ファイル名表示 11380 *F_LOOP 11390 GOSUB *F_マウスボタンチェック 11400 ON F_BTN+1 GOTO 11510,11580,11630,11690,11750,11780,11810,11870,11890 11410 '---リスト 11420 F_I=F_TOP+F_BTN-8:IF F_I>=F_NUM GOTO *F_LOOP 11430 IF F_ATTR&(F_I) = &H10 THEN 11440 F_CMD$="cd "+F_NAME$(F_I):SHELL F_CMD$:GOTO 11580 11450 ELSE 11460 F_FILENAME$=LEFT$(F_NAME$(F_I)+SPACE$(14),12) 11470 LINE(251,297)-(322,308),PSET,%15,BF:SYMBOL(251,297),F_FILENAME$,.75!,.75!,%8 11480 ENDIF 11490 GOTO *F_LOOP 11500 '---< 11510 IF F_DRV(0)-1<>0 THEN F_DRV(0)=F_DRV(0)-1 ELSE F_DRV(0)=26 11520 IF F_DRV(F_DRV(0))<0 THEN 11510 11530 LINE(166,157)-(170,163),PSET,%15,BF:GOSUB *PUT_DRIVENAME 11540 LINE(164,236)-(204,248),PSET,%15,BF:F_BTN_ATR=MOUSE(3,0):F_BTN_ATR=0:F_I=0 11550 WHILE F_BTN_ATR=0 AND F_I<130:F_I=F_I+1:F_BTN_ATR=MOUSE(3,0):WAIT 1:WEND 11560 IF F_BTN_ATR=0 THEN 11580 ELSE *F_LOOP 11570 '---A 11580 F_CMD$=CHR$(&H40+F_DRV(0))+":":SHELL F_CMD$ 11590 GOSUB *F_ドライブ状況表示 11600 F_TOP=0:GOSUB *F_ファイル情報取得:GOSUB *F_ファイル名表示 11610 GOTO *F_LOOP 11620 '---> 11630 IF F_DRV(0)+1<>27 THEN F_DRV(0)=F_DRV(0)+1 ELSE F_DRV(0)=1 11640 IF F_DRV(F_DRV(0))<0 THEN 11630 11650 LINE(166,157)-(170,163),PSET,%15,BF:GOSUB *PUT_DRIVENAME 11660 LINE(164,236)-(204,248),PSET,%15,BF:F_BTN_ATR=MOUSE(3,0):F_BTN_ATR=0:F_I=0 11670 WHILE F_BTN_ATR=0 AND F_I<130:F_I=F_I+1:F_BTN_ATR=MOUSE(3,0):WAIT 1:WEND 11680 IF F_BTN_ATR=0 THEN 11580 ELSE *F_LOOP 11690 '---親 11700 CALLM GETDIR&,0,VARPTR(F_STR$) 11710 IF LEFT$(F_STR$,INSTR(F_STR$,CHR$(0)))=CHR$(0) THEN 11730 11720 SHELL "cd .." 11730 GOTO 11580 11740 '---↑ 11750 IF F_TOP<>0 THEN F_TOP=F_TOP-1:DSPFLAG=-1:GET@A(246,166)-(487,277),FWIN!:GOSUB *F_ファイル名表示 11760 GOTO *F_LOOP 11770 '---↓ 11780 IF F_TOP<F_NUM-10 THEN F_TOP=F_TOP+1:DSPFLAG=1:GET@A(246,180)-(487,291),FWIN!:GOSUB *F_ファイル名表示 11790 GOTO *F_LOOP 11800 '---実行 11810 IF F_FILENAME$="" THEN *F_LOOP 11820 CALLM GETDIR&,0,VARPTR(F_STR$) 11830 F_FILEPATH$="\"+LEFT$(F_STR$,INSTR(F_STR$,CHR$(0))) 11840 F_FILEDRV$=CHR$(&H40+F_DRV(0)) 11850 GOTO *F_BYE 11860 '---取消 11870 F_FILENAME$="":F_FILEPATH$="":GOTO *F_BYE 11880 '---Close 11890 F_FILENAME$="":F_FILEPATH$="":GOTO *F_BYE 11900 *F_BYE 11910 RETURN 11920 '---------------------------------------------------------------- 11930 *F_マウスボタンチェック 11940 '---------------------------------------------------------------- 11950 F_BTN=-1:F_BTN_ATR=0 11960 WHILE F_BTN=-1 11970 WHILE MOUSE(2,0)=0:WEND:F_X=MOUSE(0):F_Y=MOUSE(1) 11980 F_I=0 11990 WHILE F_I<=17 AND F_BTN=-1 12000 F_X1=F_BTNX1(F_I):F_X2=F_BTNX2(F_I) 12010 F_Y1=F_BTNY1(F_I):F_Y2=F_BTNY2(F_I) 12020 IF F_X1<=F_X AND F_X2>=F_X AND F_Y1<=F_Y AND F_Y2>=F_Y THEN 12030 IF F_I=4 OR F_I=5 THEN GOSUB *SCROLL_BTN:F_BTN=F_I:GOTO 12120 12040 LINE(F_X1,F_Y1)-(F_X2,F_Y2),XOR,%7,BF 12050 IF F_I<>4 AND F_I<>5 THEN WHILE MOUSE(2,0) OR MOUSE(2,1):WEND 12060 LINE(F_X1,F_Y1)-(F_X2,F_Y2),XOR,%7,BF 12070 F_BTN=F_I 12080 ENDIF 12090 F_I=F_I+1 12100 WEND 12110 WEND 12120 IF F_BTN<>4 AND F_BTN<>5 THEN F_BTN_ATR=MOUSE(3,0):WAIT 20:F_BTN_ATR=MOUSE(3,0) 12130 RETURN 12140 '----------------------------- 12150 *F_画面表示 12160 '----------------------------- 12170 PUT@A(120,121)-(518,358),FS% 12180 RETURN 12190 '----------------------------- 12200 *F_ドライブ状況表示 12210 '----------------------------- 12220 LINE(165,156)-(169,161),PSET,%15,BF:GOSUB *PUT_DRIVENAME 12230 F_FREE=CALLM(GETFREESPACE&,0) 12240 IF F_FREE>1024 AND F_FREE<1024*1024 THEN LINE(164,236)-(204,248),PSET,%15,BF:SYMBOL(164,235),RIGHT$(SPACE$(6)+STR$(INT(F_FREE/1024)),6),.75!,.75!,%8 12250 LINE(246,166)-(481,291),PSET,%15,BF 12260 ' 12270 CALLM GETDIR&,0,VARPTR(F_STR$) 12280 F_I=INSTR(F_STR$,CHR$(0)):F_J=F_I 12290 WHILE F_I>1 AND MID$(F_STR$,F_I,1)<>"\":F_I=F_I-1:WEND 12300 LINE(246,148)-(331,161),PSET,%15,BF:GOSUB *DIR_CUT 12310 SYMBOL(249,149),FS_CDIR$,.75!,.75!,%8 12320 ' 12330 LINE(178,155)-(202,179),PSET,%15,BF 12340 IF F_FREE>=0 THEN 12350 GOSUB *DRV_CHECK 12360 PUT@A(178,155)-(201,178),FS_ICN%,,,,,24*24*F_DRV_ICN 12370 ENDIF 12380 RETURN 12390 '----------------------------- 12400 *F_ファイル名表示 12410 '----------------------------- 12420 F_I=1:FX=248:FY=153:IF DSPFLAG=0 THEN *PUT_FIL 12430 IF DSPFLAG=-1 THEN 12440 FY=167:PUT@A(246,180)-(487,291),FWIN!:LINE(246,166)-(487,179),PSET,%15,BF 12450 IF F_ATTR&(F_I+F_TOP)=&H10 THEN 12460 SYMBOL(FX,FY),"<"+LEFT$(F_NAME$(F_I+F_TOP)+SPACE$(20),12)+">",.75!,.75!,%8 12470 SYMBOL(FX+143,FY),F_DATE$(F_I+F_TOP),.75!,.75!,%8 12480 ELSE 12490 SYMBOL(FX,FY)," "+F_NAME2$(F_I+F_TOP),.75!,.75!,%8 12500 SYMBOL(FX+90,FY)," "+RIGHT$(SPACE$(14)+STR$(F_SIZE&(F_I+F_TOP)),8),.75!,.75!,%8 12510 SYMBOL(FX+143,FY),F_DATE$(F_I+F_TOP),.75!,.75!,%8 12520 ENDIF 12530 ELSE 12540 FY=279:PUT@A(246,166)-(487,277),FWIN!:LINE(246,278)-(487,291),PSET,%15,BF 12550 IF F_ATTR&(F_I+F_TOP+8)=&H10 THEN 12560 SYMBOL(FX,FY),"<"+LEFT$(F_NAME$(F_I+F_TOP+8)+SPACE$(20),12)+">",.75!,.75!,%8 12570 SYMBOL(FX+143,FY),F_DATE$(F_I+F_TOP+8),.75!,.75!,%8 12580 ELSE 12590 SYMBOL(FX,FY)," "+F_NAME2$(F_I+F_TOP+8),.75!,.75!,%8 12600 SYMBOL(FX+90,FY)," "+RIGHT$(SPACE$(14)+STR$(F_SIZE&(F_I+F_TOP+8)),8),.75!,.75!,%8 12610 SYMBOL(FX+143,FY),F_DATE$(F_I+F_TOP+8),.75!,.75!,%8 12620 ENDIF 12630 ENDIF 12640 DSPFLAG=0:RETURN 12650 '----------------------------- 12660 *F_ドライブ情報取得 12670 '----------------------------- 12680 FOR F_I=1 TO 26:F_DRV(F_I)=CALLM(ISEXIST&,F_I):NEXT 12690 FOR F_I=1 TO 16 12700 F_DRV(F_I)=CALLM(ISEXIST&,F_I) 12710 IF F_DRV(F_I)>=0 THEN 12720 F_DRV(F_I)=INP(&H31D8+F_I*4,1):F_J=CALLM(ISFIXED&,F_I) 12730 IF F_DRV(F_I)=2 AND F_J=0 THEN F_DRV(F_I)=6 12740 IF F_DRV(F_I)=255 AND F_J=0 THEN F_DRV(F_I)=7 12750 IF F_DRV(F_I)=255 THEN F_DRV(F_I)=2 12760 ENDIF 12770 NEXT 12780 F_DRV(17)=8 12790 FOR F_I=18 TO 26 12800 IF F_DRV(F_I)>=0 THEN F_DRV(F_I)=9 12810 NEXT 12820 F_DRV(0)=CALLM(GETDRV&,VARPTR(F_STR$)) 12830 RETURN 12840 '----------------------------- 12850 *F_ファイル情報取得 12860 '----------------------------- 12870 F_SHAPE=81:GOSUB *F_マウスカーソル設定 12880 F_NUM=0:F_WLD$="*.*"+CHR$(0) 12890 F_I=CALLM(FINDFIRST&,VARPTR(F_WLD$),&H10,VARPTR(F_STR$),VARPTR(F_ATTR&(0)),VARPTR(F_SIZE&(0)),VARPTR(F_DATE$(0))) 12900 IF F_I>=0 THEN 12910 WHILE F_I>=0 12920 F_I=CALLM(FINDNEXT&,VARPTR(F_STR$),VARPTR(F_ATTR&(0)),VARPTR(F_SIZE&(0)),VARPTR(F_DATE$(0))):F_NUM=F_NUM+1 12930 WEND 12940 ELSE 12950 F_NUM=0:GOTO 13060 12960 ENDIF 12970 F_I=1:'F_NAME$(1)="..":F_ATTR&(1)=&H10:F_DATE$(1)=" ":F_I=2 12980 CALLM FINDFIRST&,VARPTR(F_WLD$),&H10,VARPTR(F_STR$),VARPTR(F_ATTR&(F_I)),VARPTR(F_SIZE&(F_I)),VARPTR(F_J) 12990 GOSUB *F_情報整理 13000 F_I=2 13010 WHILE F_I<=F_NUM 13020 CALLM FINDNEXT&,VARPTR(F_STR$),VARPTR(F_ATTR&(F_I)),VARPTR(F_SIZE&(F_I)),VARPTR(F_J) 13030 GOSUB *F_情報整理:F_I=F_I+1 13040 WEND 13050 GOSUB *F_ソート 13060 F_SHAPE=80:GOSUB *F_マウスカーソル設定 13070 RETURN 13080 ' 13090 *F_情報整理 13100 F_NAME$(F_I)=LEFT$(F_STR$,INSTR(F_STR$,CHR$(0))-1) 13110 IF F_ATTR&(F_I)<>&H10 THEN 13120 IF INSTR(F_NAME$(F_I),".")<>0 THEN 13130 F_NAME2$(F_I)=LEFT$(LEFT$(F_NAME$(F_I),INSTR(F_NAME$(F_I),".")-1)+SPACE$(8),9)+RIGHT$(F_NAME$(F_I),3):GOSUB *SUFFIX_CUT 13140 ELSE 13150 F_NAME2$(F_I)=F_NAME$(F_I):GOSUB *SUFFIX_CUT 13160 ENDIF 13170 ENDIF 13180 F_DATE$(F_I)=STR$(F_J\(2^25)+80)+"-" 13190 F_DATE$(F_I)=F_DATE$(F_I)+RIGHT$(STR$(F_J\(2^21) AND 15),2)+"-" 13200 F_DATE$(F_I)=F_DATE$(F_I)+RIGHT$(STR$(F_J\(2^16) AND 31),2)+" " 13210 F_DATE$(F_I)=F_DATE$(F_I)+RIGHT$(STR$(F_J\(2^11) AND 31),2)+":" 13220 F_DATE$(F_I)=F_DATE$(F_I)+RIGHT$(STR$(F_J\(2^5) AND 63),2):'WRITE #10,F_DATE$(F_I) 13230 IF MID$(F_DATE$(F_I),2,1)=" " THEN F_DATE$(F_I)=" 0"+RIGHT$(F_DATE$(F_I),13) 13240 IF MID$(F_DATE$(F_I),5,1)=" " THEN F_DATE$(F_I)=LEFT$(F_DATE$(F_I),4)+"0"+RIGHT$(F_DATE$(F_I),10) 13250 IF MID$(F_DATE$(F_I),8,1)=" " THEN F_DATE$(F_I)=LEFT$(F_DATE$(F_I),7)+"0"+RIGHT$(F_DATE$(F_I),7) 13260 IF MID$(F_DATE$(F_I),11,1)=" " THEN F_DATE$(F_I)=LEFT$(F_DATE$(F_I),10)+"0"+RIGHT$(F_DATE$(F_I),4) 13270 IF MID$(F_DATE$(F_I),14,1)=" " THEN F_DATE$(F_I)=LEFT$(F_DATE$(F_I),13)+"0"+RIGHT$(F_DATE$(F_I),1) 13280 RETURN 13290 '----------------------------- 13300 *F_ソート 13310 '----------------------------- 13320 FOR F_I=1 TO F_NUM 13330 IF F_ATTR&(F_I)=&H10 THEN F_NAME$(F_I)=CHR$(1)+F_NAME$(F_I) 13340 NEXT 13350 ' 13360 F_N=F_NUM 13370 FOR F_CHECK=F_N/2 TO 1 STEP -1 13380 GOSUB *F_下方移動 13390 NEXT 13400 ' 13410 WHILE F_N>1 13420 SWAP F_NAME$(F_N),F_NAME$(1):SWAP F_SIZE&(F_N),F_SIZE&(1):SWAP F_NAME2$(F_N),F_NAME2$(1) 13430 SWAP F_DATE$(F_N),F_DATE$(1):SWAP F_ATTR&(F_N),F_ATTR&(1) 13440 F_N=F_N-1 13450 F_CHECK=1:GOSUB *F_下方移動 13460 WEND 13470 ' 13480 FOR F_I=1 TO F_NUM 13490 IF F_ATTR&(F_I)=&H10 THEN F_NAME$(F_I)=RIGHT$(F_NAME$(F_I),LEN(F_NAME$(F_I))-1) 13500 NEXT 13510 ' 13520 F_J=1 13530 FOR F_I=1 TO F_NUM 13540 IF F_NAME$(F_I)<>"." AND F_NAME$(F_I)<>".." THEN 13550 F_NAME$(F_J)=F_NAME$(F_I):F_ATTR&(F_J)=F_ATTR&(F_I):F_NAME2$(F_J)=F_NAME2$(F_I) 13560 F_DATE$(F_J)=F_DATE$(F_I):F_SIZE&(F_J)=F_SIZE&(F_I) 13570 F_J=F_J+1 13580 ENDIF 13590 NEXT 13600 F_NUM=F_J 13610 RETURN 13620 ' 13630 *F_下方移動 13640 F_I=F_CHECK 13650 F_J=F_I*2:F_END=0 13660 WHILE F_J<=F_N AND F_END=0 13670 IF F_J<F_N THEN IF F_NAME$(F_J)<F_NAME$(F_J+1) THEN F_J=F_J+1 13680 IF F_NAME$(F_I)>=F_NAME$(F_J) THEN 13690 F_END=1 13700 ELSE 13710 SWAP F_NAME$(F_I),F_NAME$(F_J):SWAP F_DATE$(F_I),F_DATE$(F_J):SWAP F_NAME2$(F_I),F_NAME2$(F_J) 13720 SWAP F_ATTR&(F_I),F_ATTR&(F_J):SWAP F_SIZE&(F_I),F_SIZE&(F_J) 13730 F_I=F_J:F_J=F_I*2 13740 ENDIF 13750 WEND 13760 RETURN 13770 ' 13780 '----------------------------- 13790 *F_マウスカーソル設定 13800 '----------------------------- 13810 IF F_SHAPE=80 THEN MOUSE 6,0,F_STD,F_STD1,1,1 13820 IF F_SHAPE=81 THEN MOUSE 6,0,F_WAT,F_WAT1,16,17 13830 RETURN 13840 *RETED:PUT@A(120,121)-(518,358),SCRN2%:CLS 4:FS_PRA$=LEFT$(FS_PRA$,12):GOSUB *FS_BRANK_CUT 13850 *拡張子:CH=0 13860 RESTORE *拡張子_DATA:IF FS_PRA$="" THEN 10510 13870 CH=CH+1 13880 READ CC$:IF CC$="終" THEN GOSUB *TEXT:GOTO 10510 13890 IF RIGHT$(FS_PRA$,3)<>CC$ THEN 13870 13900 ON CH GOSUB *TEXT,*TEXT,*TEXT,*TEXT,*EUP,*TIF,*SND,*TIF,*MUS,*FMB,*PMB,*MOV,*V02,*EXP 13910 GOTO 10510 13920 *拡張子_DATA 13930 DATA "TXT","DOC","GGG","MAN","EUP","TIF","SND","JPG","MUS","FMB","PMB","MVE","V02","EXP","終" 13940 *TEXT:CONSOLE 13,12:GOSUB *OPEN:COLOR 1 13950 OPEN FS_PRA$ FOR INPUT AS #5 13960 FOR I=1 TO 12:LINE INPUT #5,ONEL$:IF I>1 THEN PRINT 13970 L=LEN(ONEL$) 13980 IF L>80 THEN I=I+1:L=L-80:GOTO 13980 13990 PRINT ONEL$; 14000 IF EOF(5)=-1 THEN CLOSE #5:GOTO *MOUSE_WAIT 14010 NEXT 14020 WHILE EOF(5)=0 14030 IF MOUSE(2,1)<>0 THEN CLS 4:GOSUB *SHUT1:CONSOLE 0,25:RETURN 14040 IF MOUSE(2,0)<>0 THEN PRINT:LINE INPUT #5,ONEL$:PRINT ONEL$; 14050 IF EUP_R$<>"" THEN GOSUB *EP_REPEAT:COLOR 1 14060 WEND:CLOSE #5:GOTO *MOUSE_WAIT 14070 *EUP:BGM 1:EUP_MODE=1:EUP_R$=FS_PRA$ 14080 ERASE EP:DIM EP(150000/4) 14090 COLOR 6:LOCATE 2,3:PRINT "Wait...":GOSUB *EUP_GETINFORM 14100 CLS 4 14110 LOCATE 2,3:PRINT "*EUP-Player*" 14120 'OPEN "I",#4,FS_PRA$:TIT$=INPUT$(32,#4):CLOSE #4 14130 COLOR 6:LOCATE 2,4:PRINT "Filename= ";FS_PRA$ 14140 LOCATE 2,5:PRINT "Title = ";TIT$ 14150 LOCATE 2,6:PRINT "Repeat = ON" 14160 LOCATE 2,7:PRINT "FMB file= ";FFN$ 14170 LOCATE 2,8:PRINT "PMB file= ";PFN$ 14180 LOCATE 2,10:PRINT "BGM-Left,Quit-Right":PLAY@ EP,0 14190 GOSUB *EP_REPEAT 14200 IF MOUSE(2,0)<>0 THEN GOTO *BGM 14210 IF MOUSE(2,1)<>0 THEN PLAY OFF:CLS 4:CONSOLE 0,25:EUP_MODE=0:EUP_R$="":RETURN 14220 COLOR 6:LOCATE 2,9:PRINT USING "Measure = ####";PLAY(1)+1 14230 GOSUB *DATE_TIME:GOTO 14190 14240 *BGM:CLS 4:EUP_MODE=0:RETURN 14250 *TIF 14260 CLS:ON ERROR GOTO *ER:MOUSE 1,0,0,0 14270 'FOR I=0 TO 2:E=0 14280 'IF I=1 THEN SCREEN@ 1,2 ELSE SCREEN@ I 14290 'LOAD@ FS_PRA$ 14300 'IF E=0 THEN 14130 ELSE NEXT:PRINT "違うんじゃないのぉ?":WAIT 100:GOTO 14160 14310 'WHILE TIF_ENDFLAG=0 14320 GOSUB *TIF_PROC 14330 MOUSE 1,,,0 14340 TIF_ENDFLAG=0:SCREEN@ 0:CLS:LOAD@ DRV$+"MULTIV.TIF":GOSUB *SHUT1:DT_FLAG=0:F_SHAPE=80:GOSUB *F_マウスカーソル設定:MOUSE 1,,,1:RETURN 14350 *SND 14360 COLOR 6:LOCATE 2,3:PRINT "*SND-Player*" 14370 LOCATE 2,4:PRINT "SND-File= ";FS_PRA$ 14380 DIM SD(100000/4):LOAD@ FS_PRA$,SD 14390 LOCATE 2,5:PRINT "左-再生 右-戻る" 14400 ' 14410 ' 14420 IF MOUSE(3,0)<>0 THEN PCMPLAY SD:GOTO 14400 14430 ' 14440 IF MOUSE(3,1)<>0 THEN CLS 4:CONSOLE 0,25:COLOR 1:PLAY OFF:ERASE SD:RETURN 14450 GOSUB *DATE_TIME:GOTO 14410 14460 *MUS:BGM 1 14470 LOCATE 2,3:COLOR 6:PRINT "*MUS-Player*" 14480 LOCATE 2,4:PRINT "MUS-File= ";FS_PRA$ 14490 OPEN "I",#1,FS_PRA$ 14500 LINE INPUT #1,FMB$ : LOAD@ "..\TONE\KNIGHT.FMB" 14510 LINE INPUT #1,PMB$ : LOAD@ "..\TONE"+PMB$ 14520 FOR P=0 TO 13 : INPUT #1,CH : PART P,CH : NEXT 14530 INPUT #1,BAR 14540 INPUT #1,LOOP_P 14550 DIM SD$(13,BAR) 14560 FOR R=0 TO BAR 14570 LINE INPUT #1,DUMMY$ 14580 FOR O=0 TO 13 14590 LINE INPUT #1,SD$(O,R) 14600 NEXT 14610 NEXT 14620 CLOSE #1 14630 LOCATE 2,5:PRINT "終われば戻る(^_^;)" 14640 N=0 14650 *PLAY 14660 FOR R=N TO BAR 14670 PLAY SD$(0,R),SD$(1,R),SD$(2,R),SD$(3,R),SD$(4,R),SD$(5,R),SD$(6,R),SD$(7,R),SD$(8,R),SD$(9,R),SD$(10,R),SD$(11,R),SD$(12,R),SD$(13,R) 14680 NEXT 14690 WHILE PLAY(0)=0 14700 *MUS_END 14710 WEND 14720 BGM 0 14730 CLS 4:COLOR 1:CONSOLE 0,25:ERASE SD$:RETURN 14740 *FMB:CONSOLE 13,12 14750 COLOR 6:GOSUB *OPEN 14760 FP=1:GOSUB *TONEFM 14770 'ダミーその1 14780 LOAD@ FS_PRA$ 14790 LOCATE 0,13:COLOR 1 14800 INPUT "Tone No.=>",TN$:IF TN$="0" OR TN$="" THEN PRINT "指定が違っています.":GOTO 14800 14810 IF TN$="END" OR TN$="end" THEN CLS 4:GOSUB *SHUT1:TF_FLAG=0:OUTM #255,&H90,60,0:CONSOLE 0,25:RETURN 14820 IF TN$="NEXT" OR TN$="next" THEN FP=FP+1:GOSUB *TONEFM:GOTO 14800 14830 IF TN$="PREV" OR TN$="prev" THEN FP=FP-1:GOSUB *TONEFM:GOTO 14800 14840 OUTM #255,&HC0,VAL(TN$)-1:OUTM #255,&H90,60,100:IF EUP_R$<>"" THEN GOSUB *EP_REPEAT 14850 GOTO 14800 14860 *PMB:CONSOLE 13,12 14870 COLOR 6:GOSUB *OPEN 14880 GOSUB *TONEPCM 14890 'ダミーだぜ! 14900 LOAD@ FS_PRA$ 14910 LOCATE 0,13:COLOR 1 14920 INPUT "Tone No.=>",TN$:IF TN$="0" OR TN$="" THEN PRINT "指定が違っています.":GOTO 14800 14930 IF TN$="END" OR TN$="end" THEN CLS 4:GOSUB *SHUT1:PF_FLAG=0:OUTM #255,&H9A,60,0:CONSOLE 0,25:RETURN 14940 OUTM #255,&HCA,VAL(TN$)-1:OUTM #255,&H9A,60,100:IF EUP_R$<>"" THEN GOSUB *EP_REPEAT 14950 GOTO 14920 14960 *ER 14970 E=1:RESUME NEXT 14980 *MOUSE_WAIT 14990 WHILE MOUSE(6,1)=0 15000 WEND 15010 CLS 4:GOSUB *SHUT1:RETURN 15020 *SHUT1:CLOSE 15030 FOR I=0 TO 10 15040 PUT@A(0,246+I*20)-(639,266+I*20),ST1% 15050 WAIT 10:NEXT 15060 PUT@A(0,466)-(639,479),ST2% 15070 RETURN 15080 *OPEN 15090 LINE(0,466)-(639,479),PSET,%9,BF 15100 WAIT 10 15110 FOR I=10 TO 0 STEP -1 15120 LINE(0,246+I*20)-(639,266+I*20),PSET,%9,BF 15130 WAIT 10:NEXT 15140 RETURN 15150 *END:CLOSE 15160 IF EN_MOS_FLAG=1 THEN 15170 LINE(610,0)-(629,19),PSET,%8,B 15180 LINE(611,1)-(628,18),PSET,%8,B 15190 ENDIF 15200 MOUSE 5 15210 FOR I=0 TO 478 STEP 2 15220 LINE(0,I)-(639,I),PSET,%0:LINE(0,479-I)-(639,479-I),PSET,%0:WAIT 1 15230 NEXT:CLS 0:SHELL LEFT$(DRV$,2):END 15240 *DATE_TIME 15250 GOSUB *DT_PROCESS 15260 RETURN 15270 *MOV 15280 IF CH=12 THEN SCREEN@ 1 ELSE SCREEN@ 2 15290 MOVIE OPEN FS_PRA$ 15300 MOVIE INFO 1,MV1& 15310 MOVIE INFO 2,MV2$ 15320 LOCATE 0,0:COLOR 6 15330 PRINT "Title >",MV2$(1) 15340 PRINT "Frame/Sec. >",MV1&(1) 15350 PRINT "PlayTime(Sec.)>",MV1&(3) 15360 PRINT "Tracks >",MV1&(4) 15370 PRINT "X Size(max) >",MV1&(6) 15380 PRINT "Y Size(max) >",MV1&(7) 15390 PRINT "左-再生 右-戻る" 15400 ' 15410 ' 15420 IF MOUSE(3,0)<>0 THEN 15460 15430 ' 15440 IF MOUSE(3,1)<>0 THEN MOVIE CLOSE:SCREEN@ 0:LOAD@ DRV$+"MULTIV.TIF":GOSUB *SHUT1:DT_FLAG=0:RETURN 15450 GOTO 15400 15460 CLS 4:MOVIE PLAY 15470 CLS 5:GOTO 15320 15480 *V02:'---------------------------------------------- 15490 ' 15500 ' V02Play 15510 ' 15520 '--------------------------------------------------- 15530 SCREEN@ 0 15540 SCREEN 0 15550 CLS:MOUSE 1,,,0 15560 'ワーク960KB確保 15570 IF INP(&H30)<6 THEN WD = 3 ELSE WD = 0 15580 PRINT:PRINT 15590 '--------------------------------------------------- 15600 SCREEN 1,1 : SCREEN@ 1 : SCREEN 1,0 ' こうやって書いておけば… 15610 SYMBOL(184,60),"* V02再生(ディスク再生)*",1,1,7 15620 SYMBOL(500,466),"By Twinkle Soft,OA-X",.8!,.8!,7 15630 '--------------------------------------------------- 15640 SYMBOL(10,90),"ファイル名『"+FS_PRA$+"』",1,1,7 15650 FS_PR$=CHR$(WD+3)+FS_PRA$+CHR$(0) 15660 CALLM 0,VARPTR(FS_PR$),VARPTR(WORK(0)),960000 15670 '--------------------------------------------------- 15680 LINE(0,90)-(639,106),PSET,0,BF 15690 '--------------------------------------------------- 15700 FOR I = 127 TO 0 STEP -1 15710 FOR J = 0 TO 13 15720 OUTM #255 , &HB0 + J , 7 , I 15730 NEXT J , I 15740 SCREEN 1,1 : CLS ' ページ1 初期化 15750 SCREEN@ 0:SCREEN 0:LOAD@ DRV$+"MULTIV.TIF":GOSUB *SHUT1:DT_FLAG=0:RETURN 15760 *TONEFM:IF TF_FLAG=1 THEN 15830 ELSE TF_FLAG=1 15770 OPEN "I",#3,FS_PRA$:DIM FT$(127) 15780 FOR I=1 TO 128 15790 A$=INPUT$(8,#3) 15800 A$=INPUT$(8,#3) 15810 FT$(I-1)=A$:A$=INPUT$(32,#3) 15820 NEXT I:CLOSE #3:COLOR 6:LOCATE 1,2:PRINT "Filename";:LOCATE 6,3:PRINT LEFT$(FS_PRA$,LEN(FS_PRA$)-4) 15830 COLOR 5:YLIN=CSRLIN:ON FP GOTO *FPAGE1,*FPAGE2,*FPAGE3 15840 *FPAGE1:INC=-1:FOR I1=1 TO 5 15850 FOR I2=0 TO 9:INC=INC+1 15860 LOCATE I1*13+1,I2+2 15870 PRINT USING "###:& & ";INC+1;FT$(INC); 15880 NEXT I2 15890 NEXT I1:COLOR 4 15900 LOCATE 2,5:PRINT "Page 1";:COLOR 5:LOCATE 0,YLIN:COLOR 1:RETURN 15910 *FPAGE2:INC=49:FOR I1=1 TO 5 15920 FOR I2=0 TO 9:INC=INC+1 15930 LOCATE I1*13+1,I2+2 15940 PRINT USING "###:& & ";INC+1;FT$(INC); 15950 NEXT I2 15960 NEXT I1:COLOR 4 15970 LOCATE 2,5:PRINT "Page 2";:COLOR 5:LOCATE 0,YLIN:COLOR 1:RETURN 15980 *FPAGE3:INC=99:FOR I1=1 TO 5 15990 FOR I2=0 TO 9:INC=INC+1:IF INC>=128 THEN FL=1 ELSE FL=0 16000 LOCATE I1*13+1,I2+2 16010 IF FL=0 THEN PRINT USING "###:& & ";INC+1;FT$(INC); ELSE PRINT SPC(12); 16020 NEXT I2 16030 NEXT I1:COLOR 4 16040 LOCATE 2,5:PRINT "Page 3";:COLOR 5:LOCATE 0,YLIN:COLOR 1:RETURN 16050 *TONEPCM:IF PF_FLAG=1 THEN 16120 ELSE PF_FLAG=1 16060 OPEN "I",#3,FS_PRA$:DIM PT$(31) 16070 FOR I=1 TO 32 16080 A$=INPUT$(8,#3) 16090 A$=INPUT$(8,#3) 16100 PT$(I-1)=A$:A$=INPUT$(112,#3) 16110 NEXT I:CLOSE #3:COLOR 6:LOCATE 1,2:PRINT "Filename";:LOCATE 6,3:PRINT LEFT$(FS_PRA$,LEN(FS_PRA$)-4) 16120 COLOR 5:YLIN=CSRLIN 16130 INC=-1:FOR I1=1 TO 4 16140 FOR I2=0 TO 9:INC=INC+1:IF INC>=32 THEN FL=1 ELSE FL=0 16150 LOCATE I1*13+1,I2+2 16160 IF FL=0 THEN PRINT USING " ##:& & ";INC+1;PT$(INC); ELSE PRINT SPC(12); 16170 NEXT I2 16180 NEXT I1 16190 LOCATE 0,YLIN:COLOR 1:ERASE PT$:RETURN 16200 *EXP 16210 LOCATE 2,2:COLOR 6:PRINT FS_PRA$;:LOCATE 3,3:PRINT "実行します";:LOCATE 4,4:PRINT "Hit Any Key!(ヤメル-N)"; 16220 DUM$=INPUT$(1):IF DUM$="N" OR DUM$="n" THEN CLS 4:RETURN ELSE RUN FS_PRA$ 16230 *FS_BRANK_CUT ' FS_W$ 内の先頭と最後にある空白を取り除きます 16240 WHILE LEFT$(FS_PRA$,1)=" ":FS_PRA$=RIGHT$(FS_PRA$,LEN(FS_PRA$)-1):WEND 16250 WHILE RIGHT$(FS_PRA$,1)=" ":FS_PRA$=LEFT$(FS_PRA$,LEN(FS_PRA$)-1):WEND 16260 RETURN 16270 *DRV_CHECK 16280 IF F_ICN(F_DRV(F_DRV(0)))=69 THEN F_DRV_ICN=0 16290 IF F_ICN(F_DRV(F_DRV(0)))=70 THEN F_DRV_ICN=1 16300 IF F_ICN(F_DRV(F_DRV(0)))=71 THEN F_DRV_ICN=2 16310 IF F_ICN(F_DRV(F_DRV(0)))=72 THEN F_DRV_ICN=3 16320 IF F_ICN(F_DRV(F_DRV(0)))=76 THEN F_DRV_ICN=4 16330 IF F_ICN(F_DRV(F_DRV(0)))=77 THEN F_DRV_ICN=5 16340 IF F_ICN(F_DRV(F_DRV(0)))=78 THEN F_DRV_ICN=6 16350 IF F_ICN(F_DRV(F_DRV(0)))=79 THEN F_DRV_ICN=5 16360 RETURN 16370 *GET_CDIR 16380 FILES "*.*",C,CDIR& 16390 DIM CDIR$(CDIR&(1)+1) 16400 FILES "*.*",N,CDIR$ 16410 DRV$=CDIR$(0):IF RIGHT$(DRV$,1)<>"\" THEN DRV$=DRV$+"\" 16420 ERASE CDIR&,CDIR$ 16430 RETURN 16440 *DT_PROCESS 16450 DT_DATE$=DATE$:DT_TIME$=TIME$ 16460 DT_YEAR1$=LEFT$(DT_DATE$,1) 16470 DT_YEAR2$=MID$(DT_DATE$,2,1) 16480 DT_MONTH1$=MID$(DT_DATE$,4,1) 16490 DT_MONTH2$=MID$(DT_DATE$,5,1) 16500 DT_DAY1$=MID$(DT_DATE$,7,1) 16510 DT_DAY2$=RIGHT$(DT_DATE$,1) 16520 DT_HOUR1$=LEFT$(DT_TIME$,1) 16530 DT_HOUR2$=MID$(DT_TIME$,2,1) 16540 DT_MINUTE1$=MID$(DT_TIME$,4,1) 16550 DT_MINUTE2$=MID$(DT_TIME$,5,1) 16560 'DT_SECOND=VAL(RIGHT$(DT_TIME$,1)) 16570 DT_DD$=DT_YEAR1$+DT_YEAR2$+"."+DT_MONTH1$+DT_MONTH2$+"."+DT_DAY1$+DT_DAY2$ 16580 IF DT_FLAG=0 THEN DT_FLAG=1:SYMBOL(420,4),DT_DD$,.75!,.75!,%15:SYMBOL(498,4),LEFT$(DT_TIME$,5),.75!,.75!,%15:GOSUB *DT_WEEK:GOSUB *DT_YEAR:GOTO 16710 16590 IF DT_HI_YEAR1$="" THEN GOSUB *DT_HIS_SET 16600 IF DT_HI_YEAR1$<>DT_YEAR1$ THEN DT_HI_YEAR1$=DT_YEAR1$:LINE(420,4)-(425,15),PSET,%7,BF:SYMBOL(420,4),DT_YEAR1$,.75!,.75!,%15 16610 IF DT_HI_YEAR2$<>DT_YEAR2$ THEN DT_HI_YEAR2$=DT_YEAR2$:LINE(426,4)-(431,15),PSET,%7,BF:SYMBOL(426,4),DT_YEAR2$,.75!,.75!,%15 16620 IF DT_HI_MONTH1$<>DT_MONTH1$ THEN DT_HI_MONTH1$=DT_MONTH1$:LINE(438,4)-(443,15),PSET,%7,BF:SYMBOL(438,4),DT_MONTH1$,.75!,.75!,%15 16630 IF DT_HI_MONTH2$<>DT_MONTH2$ THEN DT_HI_MONTH2$=DT_MONTH2$:LINE(444,4)-(449,15),PSET,%7,BF:SYMBOL(444,4),DT_MONTH2$,.75!,.75!,%15 16640 IF DT_HI_DAY1$<>DT_DAY1$ THEN DT_HI_DAY1$=DT_DAY1$:LINE(456,4)-(461,15),PSET,%7,BF:SYMBOL(456,4),DT_DAY1$,.75!,.75!,%15 16650 IF DT_HI_DAY2$<>DT_DAY2$ THEN DT_HI_DAY2$=DT_DAY2$:LINE(462,4)-(467,15),PSET,%7,BF:SYMBOL(462,4),DT_DAY2$,.75!,.75!,%15:GOSUB *DT_WEEK 16660 IF DT_HI_HOUR1$<>DT_HOUR1$ THEN DT_HI_HOUR1$=DT_HOUR1$:LINE(498,4)-(503,15),PSET,%7,BF:SYMBOL(498,4),DT_HOUR1$,.75!,.75!,%15 16670 IF DT_HI_HOUR2$<>DT_HOUR2$ THEN DT_HI_HOUR2$=DT_HOUR2$:LINE(504,4)-(509,15),PSET,%7,BF:SYMBOL(504,4),DT_HOUR2$,.75!,.75!,%15 16680 'IF DT_HI_SECOND<>DT_SECOND THEN GOSUB *DT_SEC 16690 IF DT_HI_MINUTE1$<>DT_MINUTE1$ THEN DT_HI_MINUTE1$=DT_MINUTE1$:LINE(516,4)-(521,15),PSET,%7,BF:SYMBOL(516,4),DT_MINUTE1$,.75!,.75!,%15 16700 IF DT_HI_MINUTE2$<>DT_MINUTE2$ THEN DT_HI_MINUTE2$=DT_MINUTE2$:LINE(522,4)-(527,15),PSET,%7,BF:SYMBOL(522,4),DT_MINUTE2$,.75!,.75!,%15 16710 RETURN 16720 *DT_WEEK 16730 WE_YEAR=VAL(LEFT$(DT_DATE$,2)):IF WE_YEAR<95 THEN WE_YEAR=WE_YEAR+100 16740 WE_Y=WE_YEAR:FOR I=95 TO WE_YEAR 16750 IF WE_YEAR MOD 4=0 THEN WE_Y=WE_Y-1:WE_UY=WE_UY+1 16760 NEXT:WE_Y=WE_Y-95 16770 WE_DAY=(365*WE_Y)+(366*WE_UY)+DATE 16780 WE_DD=WE_DAY MOD 7 16790 IF WE_DD=1 THEN WE_DD$="日" 16800 IF WE_DD=2 THEN WE_DD$="月" 16810 IF WE_DD=3 THEN WE_DD$="火" 16820 IF WE_DD=4 THEN WE_DD$="水" 16830 IF WE_DD=5 THEN WE_DD$="木" 16840 IF WE_DD=6 THEN WE_DD$="金" 16850 IF WE_DD=0 THEN WE_DD$="土" 16860 LINE(468,4)-(497,13),PSET,%7,BF:SYMBOL(468,4),"("+WE_DD$+")",.75!,.75!,%15 16870 RETURN 16880 '*DT_SEC 16890 'IF DT_SECOND MOD 2=0 THEN SYMBOL(516,4),":",.75!,.75!,%15:GOTO 33440 16900 'LINE(516,4)-(521,13),PSET,%7,BF 16910 'RETURN 16920 *DT_HIS_SET 16930 DT_HI_YEAR1$=DT_YEAR1$:DT_HI_YEAR2$=DT_YEAR2$ 16940 DT_HI_MONTH1$=DT_MONTH1$:DT_HI_MONTH2$=DT_MONTH2$ 16950 DT_HI_DAY1$=DT_DAY1$:DT_HI_DAY2$=DT_DAY2$ 16960 DT_HI_HOUR1$=DT_HOUR1$:DT_HI_HOUR2$=DT_HOUR2$ 16970 DT_HI_MINUTE1$=DT_MINUTE1$:DT_HI_MINUTE2$=DT_MINUTE2$ 16980 'DT_HI_SECOND=DT_SECOND 16990 RETURN 17000 *DT_YEAR 17010 IF VAL(LEFT$(DT_DATE$,2))<95 THEN SYMBOL(408,4),"20",.75!,.75!,%15 ELSE SYMBOL(408,4),"19",.75!,.75!,%15 17020 RETURN 17030 *MV_SDKMENU 17040 GOTO *SDK_MAIN 17050 '★★★★ 終了 ★★★★ 17060 ' 17070 *NOSIDEWORK_EXIST 17080 PRINT "サイドワーク機能がインストールされていません" 17090 ' 17100 '★★★★ 初期化サブ ★★★★ 17110 ' 17120 *SDKINIT 17130 SDKADDR& = 52048 'プロシージャー読み込みアドレス 17140 LOADM "sdkrun.rex", SDKADDR& 17150 SDKRUN& = SDKADDR& 17160 SDKNUM& = SDKADDR& + &H30 17170 SDKGETNAME& = SDKADDR& + &H10 17180 SDKMAX& = CALLM(SDKNUM&) '-1 ...サイドワークオフ 17190 '0 ...メニューのみ 17200 IF SDKMAX& => 0 THEN 17210 FOR I&=0 TO SDKMAX& 17220 SDKKEY$ = SDKKEY$ + CHR$(CALLM(SDKGETNAME&, I&, VARPTR(SDKNAME$(I&)))) 17230 NEXT I& 17240 ENDIF 17250 RETURN 17260 ' 17270 '★★★★ メニューメイン ★★★★ 17280 ' 17290 *SDK_MAIN 17300 GOTO *B1 17310 'RESULT& = CALLM(SDKRUN&, SEL&) 17320 RETURN 17330 ' 17340 '★★★★ メニューサブ ★★★★ 17350 *B1 17360 GET@A (0,20)-(6*24-1,479),WORK& 17370 LINE (2,22)-(6*22+3,20+(3+SDKMAX&-(SDKMAX&>0))*15+3),PSET,%8,BF 17380 LINE (0,20)-(6*22+1,20+(3+SDKMAX&-(SDKMAX&>0))*15+1),PSET,%8,BF,%15 17390 SYMBOL (12,22),"About MultiV",.75!,.75!,%8 17400 LINE (6,22+15+6)-(6*21,22+15+6),PSET,%8 17410 IF SDKMAX&>0 THEN 17420 FOR J=1 TO SDKMAX& 17430 SYMBOL (12,22+15*(J+1)),SDKNAME$(J),.75!,.75!,%8 17440 NEXT J 17450 ENDIF 17460 LINE (6,22+(1+SDKMAX&-(SDKMAX&>0))*15+6)-(6*21,22+(1+SDKMAX&-(SDKMAX&>0))*15+6),PSET,%8 17470 SYMBOL (12,22+(2+SDKMAX&-(SDKMAX&>0))*15),"終了",.75!,.75!,%8 17480 Y=-1:SY=-1 17490 *B1LOOP 17500 MX=MOUSE(0):MY=MOUSE(1) 17510 IF MY<20 AND 107<=MX AND MX<229 THEN *B1TO2 17520 Y=(MY-22)\15 17530 IF MY<22 OR MX<1 OR MX>131 OR MY>66+(SDKMAX&-(SDKMAX&>0))*15 THEN Y=-1 17540 IF Y=1 OR Y=1+SDKMAX&-(SDKMAX&>0) OR Y>2+SDKMAX&-(SDKMAX&>0) THEN Y=-1 17550 IF Y<>SY THEN 17560 IF SY>-1 THEN LINE (1,21+15*SY)-(6*22,21+15*SY+14),XOR,%7,BF 17570 IF Y>-1 THEN LINE (1,21+15*Y)-(6*22,21+15*Y+14),XOR,%7,BF 17580 SY=Y 17590 ENDIF 17600 IF MOUSE(2,0)=-1 GOTO *B1LOOP 17610 IF MY<20 AND 0<=MX AND MX<6*16 THEN *B1_2 17620 IF Y=0 THEN *MV_ABOUT 17630 IF Y=2+SDKMAX&-(SDKMAX&>0) THEN *B1_END 17640 IF Y<>-1 THEN *B1_1 17650 LINE(0,0)-(1,18),PSET,%15,B:LINE(0,0)-(104,1),PSET,%15,B 17660 PSET(0,19),%15:PSET(105,0),%15 17670 PUT@A (0,20)-(6*24-1,479),WORK&,PSET 17680 RETURN 17690 ' 17700 *B1TO2 17710 LINE(0,0)-(106,1),PSET,%15,B:LINE(0,2)-(1,19),PSET,%15,B:PSET(1,19),%8 17720 LINE(2,18)-(106,19),PSET,%8,B:LINE(105,2)-(106,17),PSET,%8,B:PSET(106,1),%8 17730 PUT@A (0,20)-(6*24-1,479),WORK&,PSET 17740 GOTO *FILE_CLICK 17750 ' 17760 *B1_END 17770 LINE(0,0)-(1,18),PSET,%15,B:LINE(0,0)-(104,1),PSET,%15,B 17780 PSET(0,19),%15:PSET(105,0),%15 17790 PUT@A (0,20)-(6*24-1,479),WORK&,PSET 17800 GOTO *END 17810 ' 17820 *B1_1 17830 LINE(0,0)-(1,18),PSET,%15,B:LINE(0,0)-(104,1),PSET,%15,B 17840 PSET(0,19),%15:PSET(105,0),%15 17850 PUT@A (0,20)-(6*24-1,479),WORK&,PSET 17860 PARA& = Y-1 17870 RESULT& = CALLM(SDKRUN&, PARA&) 17880 RETURN 17890 ' 17900 *B1_2 17910 WHILE MOUSE(2,0)=0:WEND 17920 GOTO *B1LOOP 17930 ' 17940 *ASAVE 17950 SAX=AX:SAY=AY 17960 GET@A (SAX-1,SAY-1)-(SAX+300,SAY+120),WORK& 17970 RETURN 17980 ' 17990 *ALOAD 18000 PUT@A (SAX-1,SAY-1)-(SAX+300,SAY+120),WORK&,PSET 18010 RETURN 18020 ' 18030 *PUT_DRIVENAME 18040 PUT@A(166,157)-(170,163),DNAME,,,,,7*(F_DRV(0)-1) 18050 RETURN 18060 *SUFFIX_CUT 18070 IF INSTR(F_NAME$(F_I),".")=0 THEN 18080 F_NAME2$(F_I)=LEFT$(F_NAME2$(F_I)+SPACE$(13),12) 18090 ELSE 18100 IF INSTR(F_NAME2$(F_I),".")<>0 THEN 18110 F_NAME2$(F_I)=LEFT$(F_NAME2$(F_I),8)+" "+LEFT$(RIGHT$(F_NAME2$(F_I),12-INSTR(10,F_NAME2$(F_I),"."))+" ",3) 18120 ENDIF 18130 ENDIF 18140 RETURN 18150 *DIR_CUT 18160 FS_CDIR$=LEFT$(MID$(F_STR$,F_I,F_J-F_I)+SPACE$(13),12) 18170 IF LEFT$(FS_CDIR$,1)="\" THEN FS_CDIR$=RIGHT$(FS_CDIR$+" ",12):DCUT_FLAG=1 18180 IF DCUT_FLAG=1 THEN DCUT_FLAG=0:GOTO 18170 18190 RETURN 18200 *PUT_FIL 18210 WHILE F_I<=9 AND F_I+F_TOP<F_NUM 18220 FY=FY+14 18230 IF F_ATTR&(F_I+F_TOP)=&H10 THEN 18240 SYMBOL(FX,FY),"<"+LEFT$(F_NAME$(F_I+F_TOP)+SPACE$(20),12)+">",.75!,.75!,%8 18250 SYMBOL(FX+143,FY),F_DATE$(F_I+F_TOP),.75!,.75!,%8 18260 ELSE 18270 SYMBOL(FX,FY)," "+F_NAME2$(F_I+F_TOP),.75!,.75!,%8 18280 SYMBOL(FX+90,FY)," "+RIGHT$(SPACE$(14)+STR$(F_SIZE&(F_I+F_TOP)),8),.75!,.75!,%8 18290 SYMBOL(FX+143,FY),F_DATE$(F_I+F_TOP),.75!,.75!,%8 18300 ENDIF 18310 F_I=F_I+1 18320 WEND 18330 RETURN 18340 *SCROLL_BTN 18350 'LINE(F_X1,F_Y1)-(F_X2,F_Y2),PSET,%15,B:LINE(F_X1+1,F_Y1+1)-(F_X2-1,F_Y2-1),PSET,%15,B 18360 'LINE(F_X1+1,F_Y2-1)-(F_X2-2,F_Y2),PSET,%8,BF 18370 'LINE(F_X2-1,F_Y1+1)-(F_X2,F_Y2),PSET,%8,BF 18380 'PSET(F_X1,F_Y2),%8:PSET(F_X2,F_Y1),%8 18390 RETURN 18400 *EP_MEASGET 18410 PLAY@ EP,0 18420 OUTM &HF0,&H4B,&H10,&H42,&H12,&H40,&H00,&H04,&H00,&HF3,&HF7 18430 *EP_REPEAT 18440 IF INKEY$=CHR$(13) THEN 18450 IF EUP_REPFLAG=0 THEN EUP_REPFLAG=1 ELSE EUP_REPFLAG=0 18460 ENDIF 18470 IF EUP_REPFLAG=1 AND PLAY(0)=0 THEN PLAY@ EP,0 18480 COLOR 6:IF EUP_REPFLAG=0 AND EUP_MODE=1 THEN LOCATE 16,6:PRINT "OFF"; 18490 IF EUP_REPFLAG=1 AND EUP_MODE=1 THEN LOCATE 16,6:PRINT " ON"; 18500 COLOR 1:RETURN 18510 *MULTIV_INIT 18520 SCREEN@ 0 18530 SCREEN 0 18540 CLS 0 18550 STOP OFF 18560 VIEW(0,0)-(639,479):WINDOW(0,0)-(639,479) 18570 RETURN 18580 *MOS_SPEEDSET 18590 MOUSE 3,0,INP(&H3B06,1):MOUSE 3,1,INP(&H3B06,1) 18600 RETURN 18610 *TIF_PROC:CLS:MOUSE 1,,,0:ON ERROR GOTO *TIFF_ERR 18620 DEF FNGETC=ASC(INPUT$(1,1)) 18630 DEF FNGETSHORT=FNGETC+FNGETC*256 18640 DEF FNGETLONG=FNGETSHORT+FNGETSHORT*65536 18650 OPEN "I",#1,FS_PRA$ 18660 A$=INPUT$(4,1) 18670 IF A$<>"II"+CHR$(&H2A)+CHR$(0) THEN 18680 SCREEN@ 0:GUI_SX=160:GUI_SY=120:GUI_EX=479:GUI_EY=239:GUI_COL=6:GUI_BTTYPE=2:GOSUB *GUI_BTNPUT 18690 GUI_SX=162:GUI_SY=218:GUI_EX=477:GUI_EY=237:GUI_COL=6:GUI_BTTYPE=1:GOSUB *GUI_BTNPUT 18700 SYMBOL(170,160),"これはTIFFファイルではありません。",.75!,.75!,%10 18710 SYMBOL(446,221),"確 認",.75!,.75!,%8:MOUSE 1,,,1 18720 WHILE MOX<162 OR MOX>477 OR MOY<218 OR MOY>237 AND MOUSE(2,0)=0 18730 MOX=MOUSE(0):MOY=MOUSE(1) 18740 WEND 18750 LINE(162,218)-(477,237),XOR,%7,BF 18760 WHILE MBT=0 18770 MBT=MOUSE(6,0) 18780 WEND 18790 LINE(162,218)-(477,237),XOR,%7,BF 18800 CLS:RETURN 18810 ENDIF 18820 FIFDPOS=FNGETLONG 18830 IF FIFDPOS>8 THEN A$=INPUT$(FIFDPOS-8,1) 18840 FTAGNUM=FNGETSHORT 18850 FOR FI=0 TO FTAGNUM-1 18860 FTAGID=FNGETSHORT 18870 FTAGTYPE=FNGETSHORT 18880 FTAGDATNUM=FNGETLONG 18890 FTAGDAT=FNGETSHORT 18900 FA=FNGETSHORT 18910 IF FTAGID=&H100 THEN FXSIZE=FTAGDAT 18920 IF FTAGID=&H101 THEN FYSIZE=FTAGDAT 18930 IF FTAGID=&H102 THEN 18940 IF FTAGTYPE=3 AND FTAGDATNUM=1 THEN 18950 IF FTAGDAT=1 THEN FCOLTYPE=2 18960 IF FTAGDAT=4 THEN FCOLTYPE=16 18970 IF FTAGDAT=8 THEN FCOLTYPE=256 18980 IF FTAGDAT=16 THEN FCOLTYPE=32768 18990 ELSE 19000 IF FTAGTYPE=3 AND FTAGDATNUM=3 THEN FCOLTYPE=16777216 19010 ENDIF 19020 ENDIF 19030 NEXT 19040 IF FCOLTYPE=2 OR FCOLTYPE=16 THEN 19050 SCREEN@ 0:CLS 19060 IF FXSIZE>640 OR FYSIZE>480 THEN SCREEN 3,0,3,0 19070 ENDIF 19080 IF FCOLTYPE=256 THEN 19090 SCREEN@ 2:CLS 19100 IF FXSIZE>640 OR FYSIZE>480 THEN SCREEN 2 19110 ENDIF 19120 IF FCOLTYPE=32768 THEN 19130 IF FXSIZE>320 OR FYSIZE>240 THEN SCREEN@ 1,2,(64,0) 19140 IF FXSIZE<=320 AND FYSIZE<=240 THEN SCREEN@ 1:CLS 19150 ENDIF 19160 IF FCOLTYPE=16777216 THEN 19170 SCREEN@ 3 19180 ENDIF 19190 LOAD@ FS_PRA$:IF FCOLTYPE=32768 AND FXSIZE<320 AND FYSIZE<240 THEN UD=2 ELSE UD=1 19200 WHILE MOUSE(6,1)=0 OR MOUSE(6,0)=0 19201 MX=MOUSE(0):MY=MOUSE(1) 19202 OUT &H440,&H11,1:OUT &H442,INT(MX\2+MY*256),1 19203 IF MOUSE(2,0)<>0 THEN UD=UD+1:IF UD>16 THEN UD=16 19204 IF MOUSE(2,1)<>0 THEN UD=UD-1:IF UD<1 THEN UD=1 19205 IF MOUSE(2,0)<>0 OR MOUSE(2,1)<>0 THEN WAIT 5:OUT &H440,&H1B,2:OUT &H442,(UD-1)*16+(UD-1),2 19210 WEND:OUT &H440,&H11,1:OUT &H442,0,1:OUT &H440,%H1B,2:OUT &H442,0,2 19220 CLS:SCREEN@ 0:SCREEN 0:GOSUB *PAL_INIT 19230 GUI_SX=160:GUI_SY=120:GUI_EX=479:GUI_EY=359:GUI_COL=6:GUI_BTTYPE=2:GOSUB *GUI_BTNPUT 19240 GUI_SX=162:GUI_SY=338:GUI_EX=477:GUI_EY=357:GUI_COL=6:GUI_BTTYPE=1:GOSUB *GUI_BTNPUT 19250 GUI_SX=162:GUI_SY=318:GUI_EX=477:GUI_EY=337:GUI_COL=6:GUI_BTTYPE=1:GOSUB *GUI_BTNPUT 19260 SYMBOL(170,125),"画像情報",.75!,.75!,%5,,,4 19270 SYMBOL(170,139),"ファイル名:"+FS_PRA$,.75!,.75!,%8 19280 SYMBOL(170,153),"色数 :"+RIGHT$(SPACE$(8)+STR$(FCOLTYPE),8)+"色",.75!,.75!,%8 19290 SYMBOL(170,167),"画像サイズ:"+RIGHT$(SPACE$(4)+STR$(FXSIZE),4)+"*"+RIGHT$(SPACE$(3)+STR$(FYSIZE),3),.75!,.75!,%8 19300 SYMBOL(446,321),"見 る",.75!,.75!,%8 19310 SYMBOL(446,341),"戻 る",.75!,.75!,%8:F_SHAPE=80:GOSUB *F_マウスカーソル設定:MOUSE 1,,,1 19320 WHILE MOUSE(2,0)=0:WEND:MOSSX=MOUSE(0):MOSSY=MOUSE(1) 19330 IF MOSSX=>162 AND MOSSX<=477 THEN 19340 IF MOSSY=>318 AND MOSSY<=337 THEN 19350 LINE(162,318)-(477,337),XOR,%7,BF 19360 WHILE MOUSE(6,0)=0:WEND 19370 LINE(162,318)-(477,337),XOR,%7,BF 19380 CLS:MOUSE 1,,,0:GOTO 19040 19390 ELSE 19400 IF MOSSY=>338 AND MOSSY<=357 THEN 19410 LINE(162,338)-(477,357),XOR,%7,BF 19420 WHILE MOUSE(6,0)=0:WEND 19430 LINE(162,338)-(477,357),XOR,%7,BF 19440 CLS:ON ERROR GOTO *MULTIV_ERR:RETURN 19450 ENDIF 19460 ENDIF 19470 ELSE 19475 GOTO 19320 19478 ENDIF 19480 *PAL_INIT 19490 PALETTE 1,[119,34,187]:PALETTE 2,[102,204,68]:PALETTE 3,[204,255,170] 19500 PALETTE 4,[153,153,153]:PALETTE 5,[204,0,119]:PALETTE 6,[204,204,204] 19510 PALETTE 7,[119,119,119]:PALETTE 8,[34,34,34]:PALETTE 9,[187,136,238] 19520 PALETTE 10,[0,221,0]:PALETTE 11,[0,0,170]:PALETTE 12,[85,85,85] 19530 PALETTE 13,[255,0,255]:PALETTE 14,[221,255,0]:PALETTE 15,[255,255,255] 19540 RETURN 19550 *GUI_BTNPUT 19560 IF GUI_BTTYPE=1 THEN 19570 LINE(GUI_SX,GUI_SY)-(GUI_EX,GUI_EY),PSET,%GUI_COL,BF 19580 LINE(GUI_SX,GUI_SY)-(GUI_SX,GUI_EY-1),PSET,%15 19590 LINE(GUI_SX,GUI_SY)-(GUI_EX-1,GUI_SY),PSET,%15 19600 LINE(GUI_SX,GUI_EY)-(GUI_EX,GUI_EY),PSET,%8 19610 LINE(GUI_EX,GUI_SY)-(GUI_EX,GUI_EY),PSET,%8 19620 RETURN 19630 ELSE 19640 LINE(GUI_SX,GUI_SY)-(GUI_EX,GUI_EY),PSET,%GUI_COL,BF 19650 LINE(GUI_SX,GUI_SY)-(GUI_SX+1,GUI_EY-1),PSET,%15,BF 19660 LINE(GUI_SX+2,GUI_SY)-(GUI_EX-1,GUI_SY+1),PSET,%15,BF 19670 LINE(GUI_SX+2,GUI_EY-1)-(GUI_EX,GUI_EY),PSET,%8,BF 19680 LINE(GUI_EX-1,GUI_SY+2)-(GUI_EX,GUI_EY-2),PSET,%8,BF 19690 PSET(GUI_SX,GUI_EY),%15:PSET(GUI_EX,GUI_SY),%15 19700 PSET(GUI_SX+1,GUI_EY),%8:PSET(GUI_EX,GUI_SY+1),%8 19710 RETURN 19720 ENDIF 19730 *TIFF_ERR 19740 IF FCOLTYPE=2 OR FCOLTYPE=16 THEN SCREEN 0:SCREEN@ 1:RESUME NEXT 19750 IF FCOLTYPE=256 THEN SCREEN 0:SCREEN@ 2:RESUME NEXT 19760 IF FCOLTYPE=16777216 THEN RESUME NEXT 19770 *MULTIV_ERR 19780 IF ERL>10180 THEN GET@A(160,120)-(479,239),SCRN2% ELSE MOUSE 0:MOUSE 1,320,240,1 19790 GUI_SX=160:GUI_SY=120:GUI_EX=479:GUI_EY=239:GUI_COL=6:GUI_BTTYPE=2:GOSUB *GUI_BTNPUT 19800 GUI_SX=162:GUI_SY=218:GUI_EX=477:GUI_EY=237:GUI_COL=6:GUI_BTTYPE=1:GOSUB *GUI_BTNPUT 19810 IF ERR=1 THEN SYMBOL(170,160),"FOR文がないのにNEXT文がありました",.75!,.75!,%10:GOTO 20060 19820 IF ERR=2 THEN SYMBOL(170,160),"文法が正しくありません",.75!,.75!,%10:GOTO 20060 19830 IF ERR=3 THEN SYMBOL(170,160),"GOSUB文がないのにRETURN文がありました",.75!,.75!,%10:GOTO 20060 19840 IF ERR=5 THEN SYMBOL(170,160),"関数または命令文の使い方が正しくありません",.75!,.75!,%10:GOTO 20060 19850 IF ERR=6 THEN SYMBOL(170,160),"数値データの値が許される範囲を超えています",.75!,.75!,%10:GOTO 20060 19860 IF ERR=7 THEN SYMBOL(170,160),"メモリが足りません",.75!,.75!,%10:GOTO 20060 19870 IF ERR=8 THEN SYMBOL(170,160),"指定された行番号が見つかりません",.75!,.75!,%10:GOTO 20060 19880 IF ERR=9 THEN SYMBOL(170,160),"配列の添字の値が許される値を超えています",.75!,.75!,%10:GOTO 20060 19890 IF ERR=10 THEN SYMBOL(170,160),"重複定義を行おうとしました",.75!,.75!,%10:GOTO 20060 19900 IF ERR=13 THEN SYMBOL(170,160),"変数または式の型が合っていません",.75!,.75!,%10:GOTO 20060 19910 IF ERR=15 THEN SYMBOL(170,160),"文字列の長さが許される範囲を超えています",.75!,.75!,%10:GOTO 20060 19920 IF ERR=29 THEN SYMBOL(170,160),"定義されていないラベル名が参照されました",.75!,.75!,%10:GOTO 20060 19930 IF ERR=53 THEN SYMBOL(170,160),"入出力装置に異常が発生しました",.75!,.75!,%10:GOTO 20060 19940 IF ERR=55 THEN SYMBOL(170,160),"ファイルの記述に誤りがあります",.75!,.75!,%10:GOTO 20060 19950 IF ERR=60 THEN SYMBOL(170,160),"指定の入出力装置は使用できません",.75!,.75!,%10:GOTO 20060 19960 IF ERR=63 THEN SYMBOL(170,160),"指定のファイルが見つかりません",.75!,.75!,%10:GOTO 20060 19970 IF ERR=72 THEN SYMBOL(170,160),"指定された装置が使用可能な状態になっていません",.75!,.75!,%10:GOTO 20060 19980 IF ERR=73 THEN SYMBOL(170,160),"ディスクが書き込み禁止です",.75!,.75!,%10:GOTO 20060 19990 IF ERR=75 THEN SYMBOL(170,160),"デバイスまたはファイルのアクセスが拒否されました",.75!,.75!,%10:GOTO 20060 20000 IF ERR=83 THEN SYMBOL(170,160),"配列変数領域がいっぱいになりました",.75!,.75!,%10:GOTO 20060 20010 IF ERR=90 THEN SYMBOL(170,160),"プロシジャ領域の大きさが足りません",.75!,.75!,%10:GOTO 20060 20020 IF ERR=91 THEN SYMBOL(170,160),"DLL領域の大きさが足りません",.75!,.75!,%10:GOTO 20060 20030 IF ERR=112 THEN SYMBOL(170,160),"現在のモードではこの命令を使えません",.75!,.75!,%10:GOTO 20060 20040 IF ERR=124 THEN SYMBOL(170,160),"存在しない行番号が参照されています",.75!,.75!,%10:GOTO 20060 20050 SYMBOL(170,160),STR$(ERL)+"行でエラー"+STR$(ERR)+"が発生しました。",.75!,.75!,%10:GOTO 20070 20060 SYMBOL(170,180),STR$(ERL)+"行",.75!,.75!,%8 20070 SYMBOL(446,221),"確 認",.75!,.75!,%8:MOUSE 1,,,1:WHILE MOUSE(3,0)=0:WEND 20080 WHILE MOX<162 OR MOX>477 OR MOY<218 OR MOY>237 20090 MOX=MOUSE(0):MOY=MOUSE(1) 20100 WEND:DUM=MOUSE(6,0) 20110 LINE(162,218)-(477,237),XOR,%7,BF 20120 WHILE MBT=0 20130 MBT=MOUSE(6,0) 20140 WEND 20150 LINE(162,218)-(477,237),XOR,%7,BF 20160 IF ERL>10180 THEN PUT@A(160,120)-(479,239),SCRN2% ELSE CLS 20170 RESUME NEXT 20180 *EUP_GETINFORM:ON ERROR GOTO *EUP_ERR 20190 TIT$="":FFN$="":PFN$="":F_SHAPE=81:GOSUB *F_マウスカーソル設定 20200 OPEN "I",#4,FS_PRA$ 20210 TIT$=INPUT$(32,#4):TSL=INSTR(TIT$,CHR$(0)):IF TSL=0 THEN TSL=33 20220 A$=INPUT$(255,#4):A$=INPUT$(255,#4):A$=INPUT$(255,#4):A$=INPUT$(255,#4):A$=INPUT$(255,#4) 20230 A$=INPUT$(255,#4):A$=INPUT$(200,#4):TIT$=LEFT$(TIT$,TSL-1) '空読み 20240 FFN$=INPUT$(8,#4):PFN$=INPUT$(8,#4):SFS=INSTR(FFN$,CHR$(0)):PCS=INSTR(PFN$,CHR$(0)) 20250 IF SFS=0 THEN SFS=9 20260 IF PCS=0 THEN PCS=9 20270 FFN$=LEFT$(FFN$,SFS-1):PFN$=LEFT$(PFN$,PCS-1):CLOSE #4 20280 WHILE LEFT$(FFN$,1)=" ":FFN$=RIGHT$(FFN$,LEN(FFN$)-1):WEND 20290 WHILE LEFT$(FFN$,1)=CHR$(0):FFN$=RIGHT$(FFN$,LEN(FFN$)-1):WEND 20300 WHILE RIGHT$(FFN$,1)=" ":FFN$=LEFT$(FFN$,LEN(FFN$)-1):WEND 20310 WHILE RIGHT$(FFN$,1)=CHR$(0):FFN$=LEFT$(FFN$,LEN(FFN$)-1):WEND 20320 FS_D1$="":IF FFN$="" THEN 20390 20330 FOR FS_I=1 TO LEN(FFN$) 20340 FS_D2$=MID$(FFN$,FS_I,1) 20350 FS_D2$=CHR$(ASC(FS_D2$)+(ASC(FS_D2$)>96 AND ASC(FS_D2$)<123)*32) 20360 FS_D1$=FS_D1$+FS_D2$ 20370 NEXT 20380 FFN$=FS_D1$+".FMB" 20390 WHILE LEFT$(PFN$,1)=" ":PFN$=RIGHT$(PFN$,LEN(PFN$)-1):WEND 20400 WHILE LEFT$(PFN$,1)=CHR$(0):PFN$=RIGHT$(PFN$,LEN(PFN$)-1):WEND 20410 WHILE RIGHT$(PFN$,1)=" ":PFN$=LEFT$(PFN$,LEN(PFN$)-1):WEND 20420 WHILE RIGHT$(PFN$,1)=CHR$(0):PFN$=LEFT$(PFN$,LEN(PFN$)-1):WEND 20430 FS_D1$="":IF PFN$="" THEN 20500 20440 FOR FS_I=1 TO LEN(PFN$) 20450 FS_D2$=MID$(PFN$,FS_I,1) 20460 FS_D2$=CHR$(ASC(FS_D2$)+(ASC(FS_D2$)>96 AND ASC(FS_D2$)<123)*32) 20470 FS_D1$=FS_D1$+FS_D2$ 20480 NEXT 20490 PFN$=FS_D1$+".PMB" 20500 IF FFN$<>"" THEN LOAD@ FFN$ 20510 IF PFN$<>"" THEN LOAD@ PFN$ 20520 LOAD@ FS_PRA$,EP,1:F_SHAPE=80:GOSUB *F_マウスカーソル設定 20530 ON ERROR GOTO *MULTIV_ERR:RETURN 20540 *EUP_ERR 20550 GET@A(160,120)-(479,239),SCRN2% 20560 GUI_SX=160:GUI_SY=120:GUI_EX=479:GUI_EY=239:GUI_COL=6:GUI_BTTYPE=2:GOSUB *GUI_BTNPUT 20570 GUI_SX=162:GUI_SY=218:GUI_EX=477:GUI_EY=237:GUI_COL=6:GUI_BTTYPE=1:GOSUB *GUI_BTNPUT 20580 IF ERR=63 AND ERL=20500 THEN SYMBOL(170,160),"FM音色ファイルが見つかりません.",.75!,.75!,%8:GOTO 20620 20590 IF ERR=63 AND ERL=20510 THEN SYMBOL(170,160),"PCM音色ファイルが見つかりません.",.75!,.75!,%8:GOTO 20620 20600 IF ERR=55 THEN PUT@A(160,120)-(479,239),SCRN2%:RESUME NEXT 20610 GOTO 19810:'SYMBOL(170,160),STR$(ERL)+"行でエラー"+STR$(ERR)+"が発生しました。",.75!,.75!,%8 20620 ' 20630 SYMBOL(446,221),"確 認",.75!,.75!,%8:MOUSE 1,,,1 20640 WHILE MOX<162 OR MOX>477 OR MOY<218 OR MOY>237 AND MOUSE(2,0)=0 20650 MOX=MOUSE(0):MOY=MOUSE(1) 20660 WEND:DUM=MOUSE(6,0) 20670 LINE(162,218)-(477,237),XOR,%7,BF 20680 WHILE MBT=0 20690 MBT=MOUSE(6,0) 20700 WEND 20710 LINE(162,218)-(477,237),XOR,%7,BF 20720 PUT@A(160,120)-(479,239),SCRN2% 20730 RESUME NEXT 20740 *FILE_ERASE 20750 LINE(108,0)-(178,1),PSET,%15,BF 20760 LINE(107,0)-(108,19),PSET,%15,BF 20770 LINE(109,18)-(178,19),PSET,%0,BF 20780 LINE(177,2)-(178,19),PSET,%0,BF 20790 PSET(178,1),%0:PSET(108,19),%0 20800 RETURN 20810 *CD_ERASE 20820 LINE(180,0)-(228,1),PSET,%15,BF:LINE(179,0)-(180,19),PSET,%15,BF:PSET(228,1),%0 20830 LINE(181,18)-(226,19),PSET,%0,BF:LINE(227,2)-(228,19),PSET,%0,BF:PSET(180,19),%0 20840 RETURN 20850 *MV_CDPLAY:NEF=1 20860 PLAY STOP:ON ERROR GOTO *CDP_ERR 20870 GET@A(180,60)-(331,189),SCRN2% 20880 PUT@A(180,60)-(331,189),CDPLAY!:GOSUB *CDP_DISP 20890 *CDP_MAIN:CDIFL=1 20900 WHILE MOUSE(2,0)=0:GOSUB *CDP_DISP:WEND 20910 LX=MOUSE(0):LY=MOUSE(1) 20920 IF LX>=182 AND LX=<194 AND LY>=62 AND LY=<74 THEN *PUS_CLOSE 20930 IF LX>=189 AND LX=<238 AND LY>=111 AND LY=<134 THEN *PUS_PLAY 20940 IF LX>=189 AND LX=<264 AND LY>=135 AND LY=<154 THEN *PUS_STOP 20950 IF LX>=239 AND LX=<264 AND LY>=111 AND LY=<134 THEN *PUS_PAUSE 20960 IF LX>=265 AND LX=<294 AND LY>=111 AND LY=<134 THEN *PUS_PREV 20970 IF LX>=295 AND LX=<323 AND LY>=111 AND LY=<134 THEN *PUS_NEXT 20980 IF LX>=265 AND LX=<323 AND LY>=135 AND LY=<154 THEN *PUS_REP 20990 IF LX>=193 AND LX=<319 AND LY>=162 AND LY=<170 THEN *PUS_VOL 21000 GOTO *CDP_MAIN 21010 *PUS_CLOSE 21020 LINE(182,62)-(194,74),XOR,%7,BF 21030 WHILE MOUSE(2,0)=-1 21040 IF MOUSE(0)<182 OR MOUSE(0)>194 OR MOUSE(1)<62 OR MOUSE(1)>74 THEN 21050 LINE(182,62)-(194,74),XOR,%7,BF:GOTO *CDP_MAIN 21060 ENDIF 21070 WEND:LINE(182,62)-(194,74),XOR,%7,BF:PUT@A(180,60)-(331,189),SCRN2%:ON ERROR GOTO *MULTIV_ERR:RETURN 21080 *PUS_PLAY 21090 LINE(189,111)-(238,134),PSET,%7,B 21100 WHILE MOUSE(2,0)=-1 21110 IF MOUSE(0)<189 OR MOUSE(0)>238 OR MOUSE(1)<111 OR MOUSE(1)>134 THEN 21120 LINE(189,111)-(237,111),PSET,%15 21130 LINE(189,112)-(189,133),PSET,%15 21140 LINE(189,134)-(238,134),PSET,%8 21150 LINE(238,111)-(238,133),PSET,%8 21160 GOTO *CDP_MAIN 21170 ENDIF 21180 WEND:IF PAUSFLAG=1 THEN LINE(288,86)-(292,92),PSET,%0,BF:NUM&=3:GOSUB *MV_CDPROC:PAUSFLAG=0:GOTO 21210 21185 IF CDR_INFO%(1)=1 THEN 21210 21190 NUM&=1:IF TRACK&=0 THEN CDINF CDP_INFO%:IF CDP_INFO%(1)=3 THEN TRACK&=2 ELSE IF CDP_INFO%(1)=1 THEN TRACK&=1 21200 IF CDP_INFO(1)<>2 THEN GOSUB *MV_CDPROC 21210 LINE(189,111)-(237,111),PSET,%15 21220 LINE(189,112)-(189,133),PSET,%15 21230 LINE(189,134)-(238,134),PSET,%8 21240 LINE(238,111)-(238,133),PSET,%8 21250 HICDRI(6)=1:HICDRI(7)=1:GOTO *CDP_MAIN 21260 *PUS_STOP 21270 LINE(189,135)-(264,154),PSET,%7,B 21280 WHILE MOUSE(2,0)=-1 21290 IF MOUSE(0)<189 OR MOUSE(0)>264 OR MOUSE(1)<135 OR MOUSE(1)>154 THEN 21300 LINE(189,135)-(263,135),PSET,%15 21310 LINE(189,136)-(189,153),PSET,%15 21320 LINE(189,154)-(264,154),PSET,%8 21330 LINE(264,135)-(264,153),PSET,%8 21340 GOSUB *CDP_DISP:GOTO *CDP_MAIN 21350 ENDIF 21360 WEND 21370 NUM&=0:GOSUB *MV_CDPROC:TRACK&=0:PAUSFLAG=0:LINE(288,86)-(292,92),PSET,%0,BF 21380 LINE(189,135)-(263,135),PSET,%15 21390 LINE(189,136)-(189,153),PSET,%15 21400 LINE(189,154)-(264,154),PSET,%8 21410 LINE(264,135)-(264,153),PSET,%8 21420 ZRFL=0:INNFL=0:GOTO *CDP_MAIN 21430 *PUS_PAUSE 21440 LINE(239,111)-(264,134),PSET,%7,B 21450 WHILE MOUSE(2,0)=-1 21460 IF MOUSE(0)<239 OR MOUSE(0)>264 OR MOUSE(1)<111 OR MOUSE(1)>134 THEN 21470 LINE(239,111)-(263,111),PSET,%15 21480 LINE(239,112)-(239,133),PSET,%15 21490 LINE(239,134)-(264,134),PSET,%8 21500 LINE(264,111)-(264,133),PSET,%8 21510 GOTO *CDP_MAIN 21520 ENDIF 21530 WEND 21540 IF PAUSFLAG=0 AND CDR_INFO%(1)=1 THEN 21550 LINE(288,86)-(289,92),PSET,%15,B:LINE(291,86)-(292,92),PSET,%15,B 21560 NUM&=2:GOSUB *MV_CDPROC 21570 ENDIF 21580 IF PAUSFLAG=1 THEN 21590 LINE(288,86)-(292,92),PSET,%0,BF 21600 NUM&=3:GOSUB *MV_CDPROC 21610 ENDIF 21620 LINE(239,111)-(263,111),PSET,%15 21630 LINE(239,112)-(239,133),PSET,%15 21640 LINE(239,134)-(264,134),PSET,%8 21650 LINE(264,111)-(264,133),PSET,%8:IF PAUSFLAG=0 AND CDR_INFO%(1)=1 THEN PAUSFLAG=1 ELSE PAUSFLAG=0 21660 GOTO *CDP_MAIN 21670 *PUS_PREV 21680 LINE(265,111)-(294,134),PSET,%7,B 21690 WHILE MOUSE(2,0)=-1 21700 IF MOUSE(0)<265 OR MOUSE(0)>294 OR MOUSE(1)<111 OR MOUSE(1)>134 THEN 21710 LINE(265,111)-(293,111),PSET,%15 21720 LINE(265,112)-(265,133),PSET,%15 21730 LINE(265,134)-(294,134),PSET,%8 21740 LINE(294,111)-(294,133),PSET,%8 21750 GOTO *CDP_MAIN 21760 ENDIF 21770 WEND 21780 NUM&=1:TRACK&=TRACK&-1:IF TRACK&>0 AND CDR_INFO%(1)=1 AND CDR_INFO%(7)=0 THEN GOSUB *MV_CDPROC ELSE IF CDR_INFO%(1)=1 THEN TRACK&=TRACK&+1:GOSUB *MV_CDPROC 21790 IF EAX&<>0 THEN TRACK&=2:IF CDR_INFO(1)=1 THEN GOSUB *MV_CDPROC 21800 LINE(265,111)-(293,111),PSET,%15 21810 LINE(265,112)-(265,133),PSET,%15 21820 LINE(265,134)-(294,134),PSET,%8:LINE(226,93)-(238,104),PSET,%0,BF 21830 LINE(294,111)-(294,133),PSET,%8:LINE(251,93)-(263,104),PSET,%0,BF 21840 ZRFL=0:GOTO *CDP_MAIN 21850 *PUS_NEXT 21860 LINE(295,111)-(323,134),PSET,%7,B 21870 WHILE MOUSE(2,0)=-1 21880 IF MOUSE(0)<295 OR MOUSE(0)>323 OR MOUSE(1)<111 OR MOUSE(1)>134 THEN 21890 LINE(295,111)-(322,111),PSET,%15 21900 LINE(295,112)-(295,133),PSET,%15 21910 LINE(295,134)-(323,134),PSET,%8 21920 LINE(323,111)-(323,133),PSET,%8 21930 GOTO *CDP_MAIN 21940 ENDIF 21950 WEND 21960 NUM&=1:TRACK&=TRACK&+1:IF TRACK&<=CDP_INFO%(5) AND CDR_INFO%(1)=1 THEN GOSUB *MV_CDPROC:ZRFL=0 ELSE IF TRACK&>CDP_INFO%(5) THEN TRACK&=CDP_INFO%(5) 21970 LINE(295,111)-(322,111),PSET,%15 21980 LINE(295,112)-(295,133),PSET,%15 21990 LINE(295,134)-(323,134),PSET,%8:IF CDR_INFO%(1)=0 THEN LINE(226,93)-(238,104),PSET,%0,BF 22000 LINE(323,111)-(323,133),PSET,%8:IF CDR_INFO%(1)=0 THEN LINE(251,93)-(263,104),PSET,%0,BF 22010 GOTO *CDP_MAIN 22020 *PUS_REP 22030 LINE(265,135)-(323,154),PSET,%7,B 22040 WHILE MOUSE(2,0)=-1 22050 IF MOUSE(0)<265 OR MOUSE(0)>323 OR MOUSE(1)<135 OR MOUSE(1)>154 THEN 22060 LINE(265,135)-(322,135),PSET,%15 22070 LINE(265,136)-(265,153),PSET,%15 22080 LINE(265,154)-(323,154),PSET,%8 22090 LINE(323,135)-(323,153),PSET,%8 22100 GOTO *CDP_MAIN 22110 ENDIF 22120 WEND 22130 IF STYLE&=1 THEN PUT@A(275,96)-(293,103),REPEAT! 22140 IF STYLE&=3 THEN LINE(277,98)-(278,103),PSET,%15,B:PSET(276,99) 22150 IF STYLE&=2 THEN LINE(275,96)-(293,103),PSET,%0,BF 22160 IF STYLE&=1 THEN STYLE&=3 ELSE IF STYLE&=3 THEN STYLE&=2 ELSE STYLE&=1 22170 LINE(265,135)-(322,135),PSET,%15 22180 LINE(265,136)-(265,153),PSET,%15 22190 LINE(265,154)-(323,154),PSET,%8 22200 LINE(323,135)-(323,153),PSET,%8 22210 GOTO *CDP_MAIN 22220 *PUS_VOL 22230 WHILE MOUSE(2,0)=-1 22240 PX=MOUSE(0):PY=MOUSE(1):VOL=PX-192 22250 IF PX<193 OR PX>319 OR PY<162 OR PY>170 THEN *CDP_MAIN 22260 IF HVOL<>VOL THEN 22270 IF VOL>127 THEN VOL=127:CD VOL 127,127 ELSE IF VOL<0 THEN VOL=0:CD VOL 0,0 ELSE CD VOL VOL,VOL 22280 IF HVOL<VOL THEN 22290 IF VOL>100 THEN LINE(193,162)-(292,170),PSET,%5,BF:LINE(293,162)-(192+VOL,170),PSET,%10,BF 22300 IF VOL<100 THEN LINE(193,162)-(192+VOL,170),PSET,%5,BF 22310 HVOL=VOL 22320 ELSE 22330 LINE(193+VOL,162)-(319,170),PSET,%7,BF 22340 HVOL=VOL 22350 ENDIF 22360 ENDIF 22370 WEND 22380 GOTO *CDP_MAIN 22390 *MV_CDPROC 22400 'ON ERROR GOTO *ERROR 22410 CD_PLAY&=91024 22420 '機能番号を指定してください 22430 '(0:演奏停止 1:演奏開始 2:演奏一時停止 22440 ' 3:演奏再開 4:総曲数取得 5:演奏中曲番号の取得) 22450 'INPUT NUM& 22460 IF NUM&=1 THEN 22470 '曲番を指定してください--TRACK& 22480 '演奏形式を指定してください 22490 ' (0:単曲通常 1:全曲通常 2:単曲反復 3:全曲反復)--STYLE& 22500 EAX&=CALLM (CD_PLAY&,NUM&,TRACK&,STYLE&) 22510 ELSE 22520 EAX&=CALLM (CD_PLAY&,NUM&) 22530 ENDIF 22540 RETURN 22550 *CDP_ERR 22560 IF ERL=21190 THEN CDIFL=0:PLFL=0:CDR_INFO%(1)=0:PAUSFLAG=0:RESUME NEXT 22570 IF ERL=22610 THEN CDIFL=0:PLFL=0:CDR_INFO%(1)=0:PAUSFLAG=0:RESUME NEXT 22580 IF ERL=22620 THEN CDIFL=0:PLFL=0:CDR_INFO%(1)=0:PAUSFLAG=0:RESUME NEXT 22590 RESUME NEXT 22600 *CDP_DISP: 22610 CDINF CDP_INFO%:IF CDIFL=0 THEN CDIFL=1:INNFL=0 22620 CDSTAT CDR_INFO%:IF TRACK&<>CDR_INFO%(5) AND CDR_INFO%(1)=1 THEN TRACK&=CDR_INFO%(5) 22630 IF CDIFL=1 AND HICDRI%(5)<>TRACK& THEN LINE(191,92)-(214,103),PSET,%0,BF:SYMBOL(191,92),KRIGHT$(AKCNV$(STR$(TRACK&)),2),.75!,.75!,%13,,,1:HICDRI%(5)=TRACK& 22640 IF CDIFL=1 AND NEF=1 THEN SYMBOL(191,92),KRIGHT$(AKCNV$(STR$(TRACK&)),2),.75!,.75!,%13,,,1 22650 IF CDIFL=1 THEN LINE(300,86)-(318,103),PSET,%0,BF 22660 IF CDIFL=0 THEN LINE(191,92)-(214,103),PSET,%0,BF:PUT@A(300,86)-(318,103),NODISC!:LINE(288,86)-(292,92),PSET,%0,BF 22670 IF CDIFL=0 THEN LINE(226,92)-(238,103),PSET,%0,BF:LINE(251,92)-(263,103),PSET,%0,BF 22680 IF CDR_INFO%(1)=1 AND HICDRI%(6)<>CDR_INFO%(6) THEN LINE(226,93)-(238,104),PSET,%0,BF:SYMBOL(226,93),RIGHT$(" "+RIGHT$(STR$(CDR_INFO%(6)),LEN(STR$(CDR_INFO%(6)))),2),.75!,.75!,%14,,,1:HICDRI%(6)=CDR_INFO%(6) 22690 IF CDR_INFO%(1)=1 AND CDR_INFO%(6)=0 AND ZRFL=0 THEN LINE(226,93)-(238,104),PSET,%0,BF:SYMBOL(226,93)," 0",.75!,.75!,%14,,,1 22700 IF CDR_INFO%(1)=1 AND NEF=1 THEN SYMBOL(226,93),RIGHT$(" "+RIGHT$(STR$(CDR_INFO%(6)),LEN(STR$(CDP_INFO%(6)))),2),.75!,.75!,%14,,,1 22710 IF CDR_INFO%(1)=1 AND HICDRI%(7)<>CDR_INFO%(7) THEN LINE(251,93)-(263,104),PSET,%0,BF:SYMBOL(251,93),RIGHT$("0"+RIGHT$(STR$(CDR_INFO%(7)),LEN(STR$(CDR_INFO%(7)))-1),2),.75!,.75!,%14,,,1:HICDRI%(7)=CDR_INFO%(7) 22720 IF CDR_INFO%(1)=1 AND CDR_INFO%(7)=0 AND ZRFL=0 THEN LINE(251,93)-(263,104),PSET,%0,BF:SYMBOL(251,93),"00",.75!,.75!,%14,,,1:ZRFL=1 22730 IF CDR_INFO%(1)=1 AND NEF=1 THEN SYMBOL(251,93),RIGHT$("0"+RIGHT$(STR$(CDR_INFO%(7)),LEN(STR$(CDP_INFO%(7)))-1),2),.75!,.75!,%14,,,1 22740 IF CDR_INFO%(1)=0 AND STFL=0 AND PAUSFLAG=0 THEN LINE(226,93)-(238,104),PSET,%0,BF:LINE(251,93)-(263,104),PSET,%0,BF:PLFL=0 22750 IF CDR_INFO%(1)=1 AND PLFL=0 THEN CONNECT(275,86)-(284,89)-(275,92),%15,PSET,F,%15:PLFL=1:STFL=0 22760 IF CDR_INFO%(1)=0 AND STFL=0 AND PAUSFLAG=0 THEN LINE(275,86)-(284,92),PSET,%0,BF:STFL=1 22770 IF NEF=1 AND STYLE&>2 THEN PUT@A(275,96)-(293,103),REPEAT! 22780 IF NEF=1 AND STYLE&>1 THEN LINE(277,98)-(278,103),PSET,%15,B:PSET(276,99) 22790 IF NEF=1 AND PAUSFLAG=1 THEN CONNECT(275,86)-(284,89)-(275,92),%15,PSET,F,%15:LINE(288,86)-(289,92),PSET,%15,B:LINE(291,86)-(292,92),PSET,%15,B 22800 IF NEF=1 AND CDR_INFO%(1)=1 THEN CONNECT(275,86)-(284,89)-(275,92),%15,PSET,F,%15 22810 IF NEF=1 THEN LINE(193+VOL,162)-(319,170),PSET,%7,BF 22820 IF NEF=1 THEN NEF=0 22821 IF CDR_INFO%(1)=0 AND CDIFL=1 AND PAUSFLAG=0 AND INNFL=0 THEN 22822 LINE(191,92)-(214,103),PSET,%0,BF:SYMBOL(191,92),KRIGHT$(AKCNV$(STR$(CDP_INFO%(5))),2),.75!,.75!,%13,,,1 22823 LINE(226,93)-(238,104),PSET,%0,BF:SYMBOL(226,93),RIGHT$("0"+RIGHT$(STR$(INT(CDP_INFO%(2))),LEN(STR$(INT(CDP_INFO%(2))))-1),2),.75!,.75!,%14,,,1 22824 LINE(251,93)-(263,104),PSET,%0,BF:SYMBOL(251,93),RIGHT$("0"+RIGHT$(STR$(CDP_INFO%(3) MOD 60),LEN(STR$(CDP_INFO%(3) MOD 60))-1),2),.75!,.75!,%14,,,1:INNFL=1 22825 ENDIF 22830 RETURN